package com.authine.cloudpivot.ext.dto.kingDee.request;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;


@Data
@JsonInclude(value= JsonInclude.Include.NON_NULL)
@Schema(description = "核算维度")
public class FDetailIdEntity {

    /**
     * 供应商
     */
    @JsonProperty("FDETAILID__FFLEX4")
    @Schema(description = "FDETAILID__FFLEX4")
    private FDetailIdfflex4Entity fDetailidfflex4Entity;

    /**
     * 部门
     */
    @JsonProperty("FDETAILID__FFLEX5")
    @Schema(description = "FDETAILID__FFLEX5")
    private FDetailIdfflex5Entity fDetailIdfflex5Entity;

    /**
     * 客户
     */
    @JsonProperty("FDETAILID__FFLEX6")
    @Schema(description = "FDETAILID__FFLEX6")
    private FDetailIdfflex6Entity fDetailIdfflex6Entity;

    /**
     * 员工
     */
    @JsonProperty("FDETAILID__FFLEX7")
    @Schema(description = "FDETAILID__FFLEX7")
    private FDetailIdfflex7Entity fDetailIdfflex7Entity;

    /**
     * 银行账号
     */
    @JsonProperty("FDETAILID__FF100003")
    @Schema(description = "FDETAILID__FF100003")
    private FdetailIdff100003Entity fdetailIdff100003Entity;

    /**
     * 供应商
     * @param id
     * @return
     */
    public static FDetailIdEntity addFDetailID4(String id) {
        FDetailIdEntity f = new FDetailIdEntity();
        f.setFDetailidfflex4Entity(FDetailIdfflex4Entity.addFDETAILIDFFLEX4(id));
        return f;
    }

    /**
     * 客户
     * @param id
     * @return
     */
    public static FDetailIdEntity addDetailID6(String id) {
        FDetailIdEntity f = new FDetailIdEntity();
        f.setFDetailIdfflex6Entity(FDetailIdfflex6Entity.addFDETAILIDFFLEX6(id));
        return f;
    }

    /**
     * 部门
     * @param id
     * @return
     */
    public static FDetailIdEntity addFDetailID5(String id) {
        FDetailIdEntity f = new FDetailIdEntity();
        f.setFDetailIdfflex5Entity(FDetailIdfflex5Entity.addFDETAILIDFFLEX5(id));
        return f;
    }

    /**
     * 员工
     * @param id
     * @return
     */
    public static FDetailIdEntity addFDetailID7(String id) {
        FDetailIdEntity f = new FDetailIdEntity();
        f.setFDetailIdfflex7Entity(FDetailIdfflex7Entity.addFDETAILIDFFLEX7(id));
        return f;
    }

    /**
     * 部门+员工
     * @param number1
     * @param number2
     * @return
     */
    public static FDetailIdEntity addFDetailID57(String number1, String number2) {
        FDetailIdEntity f = new FDetailIdEntity();
        f.setFDetailIdfflex5Entity(FDetailIdfflex5Entity.addFDETAILIDFFLEX5(number1));
        f.setFDetailIdfflex7Entity(FDetailIdfflex7Entity.addFDETAILIDFFLEX7(number2));
        return f;
    }

    /**
     *  客户+部门+员工
     * @param number1
     * @param number2
     * @param number3
     * @return
     */
    public static FDetailIdEntity addDDetail567(String number1, String number2, String number3) {
        FDetailIdEntity f = new FDetailIdEntity();
        f.setFDetailIdfflex5Entity(FDetailIdfflex5Entity.addFDETAILIDFFLEX5(number2));
        f.setFDetailIdfflex6Entity(FDetailIdfflex6Entity.addFDETAILIDFFLEX6(number1));
        f.setFDetailIdfflex7Entity(FDetailIdfflex7Entity.addFDETAILIDFFLEX7(number3));
        return f;
    }

    /**
     * 银行账号
     * @param id
     * @return
     */
    public static FDetailIdEntity addBank(String id) {
        FDetailIdEntity f = new FDetailIdEntity();
        f.setFdetailIdff100003Entity(FdetailIdff100003Entity.addFDETAILIDFFLEX100003(id));
        return f;
    }
}
